﻿using System;
using System.Collections.Generic;
using Paulovich.Data;
using System.Collections.ObjectModel;

namespace Inscricoes.Business
{

    [Table("TCUR_Turmas")]
    public class Turma : Persist
    {

        #region fields & properties

        private int turCodigo;

        [PrimaryKeyField(IsIdentity = true)]
        public int TurCodigo
        {
            get { return turCodigo; }
            set { turCodigo = value; }
        }

        private int perCodigo;

        [Field(typeof(Inscricoes.Business.Periodo), "PerCodigo")]
        public int PerCodigo
        {
            get { return perCodigo; }
            set { perCodigo = value; }
        }

        private Int16? turOrdem;

        [Field]
        public Int16? TurOrdem
        {
            get { return turOrdem; }
            set { turOrdem = value; }
        }

        private string turNome;

        [Field]
        public string TurNome
        {
            get { return turNome; }
            set { turNome = value; }
        }

        private string turDescricao;

        [Field]
        public string TurDescricao
        {
            get { return turDescricao; }
            set { turDescricao = value; }
        }

        private Int16? turLimiteInscricoesEscolas;

        [Field]
        public Int16? TurLimiteInscricoesEscolas
        {
            get { return turLimiteInscricoesEscolas; }
            set { turLimiteInscricoesEscolas = value; }
        }

        private Int16? turLimiteInscricoesSRE;

        [Field]
        public Int16? TurLimiteInscricoesSRE
        {
            get { return turLimiteInscricoesSRE; }
            set { turLimiteInscricoesSRE = value; }
        }

        private int turLimiteInscricoes;

        [Field]
        public int TurLimiteInscricoes
        {
            get { return turLimiteInscricoes; }
            set { turLimiteInscricoes = value; }
        }

        private bool turStatus;

        [Field]
        public bool TurStatus
        {
            get { return turStatus; }
            set { turStatus = value; }
        }

        #endregion

        #region constructors

        public Turma()
            : base()
        {
        }

        public Turma(params object[] keys)
            : base(keys)
        {
        }

        #endregion

        #region related tables

        private Collection<Inscricao> tCUR_Inscricoes;

        [ListToSave]
        public Collection<Inscricao> TCUR_Inscricoes
        {
            get { return tCUR_Inscricoes; }
            set { tCUR_Inscricoes = value; }
        }

        #endregion
    }


}
